Method, circuit, system and application for providing messaging services

ABSTRACT

Disclosed is a method, circuit, system and application for providing messaging services. The method, circuit, system and application may provide for download, synchronization, voicemail-message to text-message translation, direct access and handling of selected voicemail messages through a user&#39;s user interface and other functionalities relating to voicemails, voicemail messages and/or voicemail/voicemail-messages related data received/generated/stored on a cellular operator&#39;s voicemail server.

PRIORITY CLAIMS

This application claims priority from:

-   -   a. U.S. Provisional Patent Application No. 61/255,113, filed by         the inventors of the present invention, titled “System, Method,         Circuit and Associated Software for Augmenting Contact Details         Stored on a Communication Device with Data Relating to the         Contact Contained on Social Networking Sites”, filed on Oct. 27,         2009; and     -   b. U.S. Provisional Patent Application No. 61/177,122, filed by         the inventors of the present invention, titled “Method, Circuit,         System and Application for providing messaging services”, filed         on May 11, 2009.

FIELD OF THE INVENTION

The present invention relates generally to the field of communication. More specifically, the present invention relates to a method, circuit, system and application for providing messaging services.

BACKGROUND

In modern times, cellular phones serve their users for far more than just conversation. Therefore, modern cellular networks offer their users various value added services, such as web browsing, messaging, etc. In today's cellular networks many of the value added services are implemented on the network servers or by a third party connected to the network via a distributed data network, such as the internet. For this reason, a phone user can only access these services via an intermediate media service such as web browsing, dialing or IVR (Interactive Voice Response). This makes these services difficult and cumbersome to access and often entails an added charge for the intermediate media service. This fact, often times, may prevent or limit the activation and usage of these services.

Accordingly, there is a need in the field of communication, for cellular value added services, which services' design minimizes or negates the need of an intermediate media user access.

SUMMARY OF THE INVENTION

The present invention is a method, circuit, system and application for providing messaging services. According to some embodiments of the present invention, a VVM (Visual Voice Mail) system may include server-side component(s) (network side components) and client-side software application component(s) installed on a Remote Device (Remote Device=mobile communication/computing device such as a cell phone, feature phone, Java phone, smart phone, pocket PC, etc.).

According to some embodiments of the present invention, a VVM client application that may be a component in the client-side software application may be provided. The VVM client application may be adapted for installation or embedment on a Remote Device. The VVM client application may include a communication module adapted to communicate with the VVM server-side components over a data link such as, but not limited to, a data service (e.g. UMTS) provided by a cellular operator or a Wi-Fi service. The VVM server-side components may either be integral with a voicemail server and/or may interface with a voicemail server operated by a third party, such as a cellular operator.

According to further embodiments of the present invention, the VVM client application may communicate with more than one VVM server-side component, which VVM server-side components may be integral and/or may interface with more than one voicemail server, possibly of different types. For example, the VVM client application may communicate with a VVM server-side component integral with and/or interfacing with a wireless mailbox and a VVM server-side component integral with and/or interfacing with a wireline mailbox at the same time. Accordingly, the VVM client application may support more than one voicemail protocol.

The VVM server-side component(s) may be adapted to monitor a functionally associated voicemail server (i.e. voicemail server with which it is integral or interfacing) for voicemail activities related to one or more voicemail accounts. Such activities may include, but are not limited to, addition, modification or removal of voicemail entries. Exemplary voicemail entries may include, but are not limited to, one or more of the following: (1) a Voicemail message—a message deposited into the account by a third party or by the account's owner, (2) a Greeting—Outgoing Message (OGM)—a recording which is played as a welcome message for a party that has called the user and has been directed to voicemail, (3) Other entries that may include voicemail account related data (e.g. an entry confirming whether a certain voice message has already been transferred/copied to, and stored on, a user's remote device). A voicemail message may include one or more of the following media types: (1) Audio, (2) Video, (3) Fax, (4) Text transcription of the audio, (5) General text attached to the voicemail message, (6) images, (7) Metadata relating to the entry, (8) email and/or (9) any other media type known today, or to be devised in the future.

According to some embodiments of the present invention, upon detecting a voicemail activity or change in a voicemail server account being monitored, for instance, when: (1) a new voicemail message(s) has arrived in a given user's voicemail account, (2) a new greeting was recorded, (3) a voicemail entry was deleted, (4) a voicemail entry was updated due to server or user activities, (5) a voicemail's account parameters were updated (e.g. the password was changed); the VVM server-side component(s) may send a “status changed” trigger signal to the given user's VVM client application. The trigger signal may, for example, be in the form of a coded short message service (“sms”) message sent to the user's remote device. The coded signal may contain information regarding the change made in the voicemail server account and/or information required to access the account. According to further embodiments of the present invention, the VVM client application may be adapted to configure the remote device to suppress or otherwise avoid issuing notifications of said received coded sms messages intended for the VVM client application. Such SMS notifications may be distinguished from other sms messages according to content, application port or any other appropriate method.

According to some embodiments of the present invention, one or more of the VVM server-side component(s) may automatically encode (e.g. using AMR, MP3, ACC, 3GPP, Jpeg, GIF, AVI, or any other media type) and/or convert a copy of voicemail entries stored on the voicemail server into an encapsulated data structure suitable for transmission over a data link. Associated with each voicemail entry copy may be one or more parameters (metadata) associated with the voicemail entry from which the copy was made. Such exemplary parameters may include (1) date and time of voicemail entry, (2) length of voicemail entry content, (3) message origination details (e.g. phone number of phone from which message was recorded), (4) listened/not-yet-listened indicator, (5) is-deleted indicator, and/or (6) any other relevant data; all of which may be stored along with or as metadata within or otherwise associated with an entry copy file.

According to some embodiments of the present invention, the VVM client application may be adapted to initiate a synchronization process between the VVM client application storage and the VVM server-side component(s) storage. The VVM client application may initiate a synchronization: (1) Immediately and automatically upon receipt of a “status changed” signal (e.g. a coded sms message, a data message or any other signaling mechanism) from the VVM server-side component(s), (2) whenever the network is unavailable to the remote device (e.g. “out of range”), upon return of availability, (3) when manually triggered to do so by a user, (4) periodically, and/or (5) after a “status changed” signal has been received and (2), (3) or (4) have occurred.

According to some embodiments of the present invention, the synchronization process may include: (1) a transfer of one or more voicemail entry copies and their accompanying parameters, from the VVM server-side component(s) to the VVM client application and/or vice versa, (2) an update of one or more of a voicemail's accompanying parameters in the VVM server-side component(s) storage and/or the VVM client application storage, (3) a permanent or temporary deletion of one or more voicemail entries including its accompanying parameters from the VVM server-side component(s) storage or VVM client application storage, (4) a forwarding of one or more voicemail entries to another voicemail account, and/or (5) a deposit of a one or more new voicemail entries in the user's own voicemail account or another voicemail account belonging to a different user.

The synchronization mechanism may be optimized for speed, cost or any other parameter that may be useful for this process or required to deliver better service.

According to further embodiments of the present invention, the synchronization process may be automatically triggered from time to time at the discretion of the VVM client application, in response to local storage changes or time based for example, local entry deletion, local entry being listened to, etc.

According to further embodiments of the present invention, the VVM client application may store the retrieved message copies locally on the remote device's non-volatile memory, which memory may either be integral with the communication device or part of a mass storage device connected to or otherwise associated with the remote device. According to further embodiments of the present invention, after storage of a message copy on the remote device's local memory, the VVM client application may signal a receipt confirmation to the VVM server-side components and the VVM server-side components may erase their message copies, along with associated parameters. Alternatively, according to further embodiments of the present invention, in response to a receipt confirmation message signal from the VVM client application, the VVM server-side components may mark the message copies as having been transferred rather than erasing them.

According to further embodiments of the present invention, one or more of the VVM server-side components may include, or be functionally associated with, a speech recognition module including speech recognition algorithms adapted to convert an audio portion of a stored voice message into a text string. Once created, the text string may be associated with the voice message from which it was derived, for example as an accompanying file. According to some embodiments of the present invention, at least a portion of the text string may be stored as metadata associated with a copy of voice message from which the text string was derived. The text string may be stored (e.g. in the voicemail message as one of the accompanying parameters) and may be transferred along with or instead of the message copy. A user of the VVM client application may select through an interface menu a preference as to whether to receive only voice message copies, only text string copies or a combination of the two.

According to some embodiments of the present invention, the VVM client application may be adapted to present a listing of locally stored voice messages, along with related parameters and/or metadata, as a list of items (e.g. on a scroll down menu). The VVM client application may also present the available voice messages in the phone inbox that is traditionally used to list SMS and MMS messages, in a separate listing or both. The VVM client application may also associate the phone's media player or a special media player or any other media player to the message. The VVM client application may also access the user's contacts and indicate the name of any contact whose phone number corresponds with the phone number from which a message has originated.

The VVM client application may provide a user with options including: (1) play/view stored message, (2) read associated metadata, and/or (3) delete any or all of the locally stored messages/data. When a user selects a locally stored message copy, the application may use a decoder, corresponding to the encoder used by the VVM server-side component(s) to create the copy, to convert the stored message copy into (1) an audible signal which it may then play to the user through a transducer (e.g. speaker) on the remote device, (2) a video or image signal which it may then display to the user on the remote device, and/or (3) any other media type suitable for presenting the stored message copy to the user on the remote device. When a user deletes a locally stored message, the VVM client application may send a signal back to the VVM server-side component(s), either separately or as part of a synchronization process, indicating which message was deleted, and the VVM server-side component(s) may delete the corresponding message from the voicemail server and the corresponding message metadata/copy, if the message copy was not previously deleted. According to further embodiments of the present invention, the VVM client application may be further adapted to allow a user to access and utilize metadata associated with a voice message for other applications, such as to copy the details of the origination of a voice message to his/her local contacts. The VVM client application may also be adapted to allow a user to create/edit/delete/forward an outgoing message.

According to some embodiments of the present invention, the VVM client application may include a VVM server-side component interface module adapted to interface with VVM server-side components over a data link. The interface module may use interface parameters stored on a configuration file in order to determine a protocol for establishing and maintaining communication with VVM server-side components. Since different voicemail servers provide different APIs using different protocols for interfacing with their voicemail systems, different protocols may be required when communicating with different voicemail systems and/or their respective server-side components. According to further embodiments of the present invention the VVM client application may also support various types of server components.

The configuration data associated with a VVM client application on a given remote device may be remotely swapped or edited using a configuration sms. A cellular operator providing voicemail server functionality in accordance with embodiments of the present invention may send a customized configuration sms to the remote device, which customized configuration sms may provide the VVM client application with configuration data corresponding to the operator's voicemail server protocols.

According to some embodiments of the present invention, a VVM client application user interface may include part or all of the following exemplary functionalities:

General New message popup - opens VVM Open VVM from application menu Browse and listen in any order Caller ID correlation with local contacts Message function Call back Reply via SMS Forward via MMS Forward via Email Add/update caller ID in local contacts Archive (store in archive - on device or on server) Delete (from server and client) Sort message (date, caller) Icon indication Read/unread Replied Forwarded Called back Player function Play/pause Fast forward/rewind Play to loud speakers/private speaker Volume control Greeting Record new greeting management Support different greeting types (full, VS, temporary . . . ) Activate/deactivate greeting Delete greeting New user tutorial Free test and images triggered actions (example - greeting recording) Integrated help

According to some embodiments of the present invention, a VVM network support may include part or all of the following exemplary characteristics/capabilities/variants:

IMAP variants General IMAP Comverse Unisys Ericsson Alcatel Lucent HTTP variant Acision Proprietary in house Security Secured Sockets Layer (SSL) StartTLS MD5-Digest authentication Message type Voice (AMR, WAV, MP3 . . . ) support Video (3GPP, MP4, . . . ) Fax (GIF, BMP, JPEG, etc.)

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:

FIG. 1A: is a flow chart showing the steps of an exemplary synchronization process, in accordance with some embodiments of the present invention;

FIG. 1B: is a flow chart showing the steps of an exemplary dynamic protocol configuration process, in accordance with some embodiments of the present invention;

FIG. 1C: is a flow chart showing the steps of an exemplary voicemail-message to message-as-text process, in accordance with some embodiments of the present invention;

FIG. 2A: is a block diagram, showing the main components of an exemplary VVM client application, in accordance with some embodiments of the present invention; and

FIG. 2B: is a block diagram, showing the main components of an exemplary VVM Server-side component(s), in accordance with some embodiments of the present invention.

FIGS. 3&4: are exemplary screenshots (1-6) of a VVM client application running in a Symbian environment, according to some embodiments of the present invention.

FIG. 5: are exemplary screenshots (7-9) of a VVM client application running in a Blackberry environment, according to some embodiments of the present invention.

FIG. 6: are exemplary screenshots (10-11) of a VVM client application running in a Windows Mobile environment, according to some embodiments of the present invention.

FIG. 7: are exemplary screenshots (12-13) of a “VVM SETTINGS” screen within a VVM client application, according to some embodiments of the present invention.

FIG. 8: are exemplary screenshots (14-15) of a Greeting Provisioning screen within a VVM client application, according to some embodiments of the present invention.

It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

It should be understood that the accompanying drawings are presented solely to elucidate the following detailed description, are therefore, exemplary in nature and do not include all the possible permutations of the present invention.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.

Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing”, “computing”, “calculating”, “determining”, or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, including mobile phone or any mobile device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.

Embodiments of the present invention may include apparatuses for performing the operations herein. This apparatus may be specially constructed for the desired purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer or phone or any other computing device. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs) electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions, and capable of being coupled to a computer system bus.

The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the inventions as described herein.

Terms in this application relating to distributed data networking, such as send or receive, may be interpreted in reference to Internet protocol suite, which is a set of communications protocols that implement the protocol stack on which the Internet and most commercial networks run. It has also been referred to as the TCP/IP protocol suite, which is named after two of the most important protocols in it: the Transmission Control Protocol (TCP) and the Internet Protocol (IP), which were also the first two networking protocols defined. Today's IP networking represents a synthesis of two developments that began in the 1970s, namely LANs (Local Area Networks) and the Internet, both of which have revolutionized computing.

The Internet Protocol suite—like many protocol suites—can be viewed as a set of layers. Each layer solves a set of problems involving the transmission of data, and provides a well-defined service to the upper layer protocols based on using services from some lower layers. Upper layers are logically closer to the user and deal with more abstract data, relying on lower layer protocols to translate data into forms that can eventually be physically transmitted. The TCP/IP reference model consists of four layers.

Layers in the Internet Protocol Suite

The IP suite uses encapsulation to provide abstraction of protocols and services. Generally a protocol at a higher level uses a protocol at a lower level to help accomplish its aims. The Internet protocol stack has never been altered, by the IETF, from the four layers defined in RFC 1122. The IETF makes no effort to follow the seven-layer OSI model and does not refer to it in standards-track protocol specifications and other architectural documents.

4. Application DNS, TFTP, TLS/SSL, FTP, Gopher, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, TELNET, ECHO, RTP, PNRP, rlogin, ENRP Routing protocols like BGP, which for a variety of reasons run over TCP, may also be considered part of the application or network layer. 3. Transport TCP, UDP, DCCP, SCTP, IL, RUDP 2. Internet Routing protocols like OSPF, which run over IP, are also to be considered part of the network layer, as they provide path selection. ICMP and IGMP run over IP and are considered part of the network layer, as they provide control information. IP (IPv4, IPv6) ARP and RARP operate underneath IP but above the link layer so they belong somewhere in between. 1. Network access Ethernet, Wi-Fi, token ring, PPP, SLIP, FDDI, ATM, Frame Relay, SMDS

It should be understood that any topology, technology and/or standard for computer networking (e.g. mesh networks, infiniband connections, RDMA, etc.), known today or to be devised in the future, may be applicable to the present invention.

The present invention is a method, circuit, system and application for providing messaging services. According to some embodiments of the present invention, a VVM (Visual Voice Mail) system may include server-side component(s) (network side components) and client-side software application component(s) installed on a Remote Device (Remote Device=mobile communication/computing device such as a cell phone, feature phone, Java phone, smart phone, pocket PC, etc.).

According to some embodiments of the present invention, a VVM client application that may be a component in the client-side software application may be provided. The VVM client application may be adapted for installation or embedment on a Remote Device. The VVM client application may include a communication module adapted to communicate with the VVM server-side components over a data link such as, but not limited to, a data service (e.g. UMTS) provided by a cellular operator or a Wi-Fi service. The VVM server-side components may either be integral with a voicemail server and/or may interface with a voicemail server operated by a third party, such as a cellular operator.

According to further embodiments of the present invention, the VVM client application may communicate with more than one VVM server-side component, which VVM server-side components may be integral and/or may interface with more than one voicemail server, possibly of different types. For example, the VVM client application may communicate with a VVM server-side component integral with and/or interfacing with a wireless mailbox and a VVM server-side component integral with and/or interfacing with a wireline mailbox at the same time. For that the VVM client application may support more than one voicemail protocol.

The VVM server-side components may be integral with a voicemail server (Voicemail Server=a server which provides voicemail services to users). Alternatively, the VVM server side components may be adapted to interface with one or more voicemail servers used by or associated with cellular operators, possibly via API's associated with the voicemail servers. For this purpose, the VVM server-side components may be adapted to work with different protocols associated with different voicemail servers and may be adapted to check which protocol is associated with a voicemail server and communicate with it accordingly.

The VVM server-side component(s) may be adapted to monitor a functionally associated voicemail server (i.e. voicemail server with which it is integral or interfacing) for voicemail activities related to one or more voicemail accounts. Such activities may include, but are not limited to, addition, modification or removal of voicemail entries. Exemplary voicemail entries may include, but are not limited to, one or more of the following: (1) a Voicemail message—a message deposited into the account by a third party or by the account's owner, (2) a Greeting—Outgoing Message (OGM)—a recording which is played as a welcome message for a party that has called the user and has been directed to voicemail, (3) Other entries that may include voicemail account related data (e.g. an entry confirming whether a certain voice message has already been transferred/copied to, and stored on, a user's remote device). A voicemail message may include one or more of the following media types: (1) Audio, (2) Video, (3) Fax, (4) Text transcription of the audio, (5) General text attached to the voicemail message, (6) images, (7) Metadata relating to the entry, (8) email and/or (9) any other media type known today, or to be devised in the future.

According to some embodiments of the present invention, upon detecting a voicemail activity or change in a voicemail server account being monitored, for instance, when: (1) a new voicemail message(s) has arrived in a given user's voicemail account, (2) a new greeting was recorded, (3) a voicemail entry was deleted, (4) a voicemail entry was updated due to server or user activities, (5) a voicemail's account parameters were updated (e.g. the password was changed); the VVM server-side component(s) may send a “status changed” trigger signal to the given user's VVM client application. The trigger signal may, for example, be in the form of a coded short message service (“sms”) message sent to the user's remote device. The coded signal may contain information regarding the change made in the voicemail server account and/or information required to access the account. According to further embodiments of the present invention, the VVM client application may be adapted to configure the remote device to suppress or otherwise avoid issuing notifications of said received coded sms messages intended for the VVM client application.

According to some embodiments of the present invention, one or more of the VVM server-side component(s) may automatically encode (e.g. using AMR, MP3, ACC, 3GPP, Jpeg, GIF, AVI, or any other media type) and/or convert a copy of voicemail entries stored on the voicemail server into an encapsulated data structure suitable for transmission over a data link. For example, a VVM server-side component may be adapted to encode audio messages as mp3 files. Associated with each voicemail entry copy may be one or more parameters (metadata) associated with the voicemail entry from which the copy was made. Such exemplary parameters may include (1) date and time of the voicemail entry, (2) length of the voicemail entry content, (3) message origination details (e.g. phone number of phone from which message was recorded), (4) a listened/not-yet-listened indicator, (5) is-deleted indicator, and/or (6) any other relevant data; all of which may be stored along with or as metadata within or otherwise associated with an entry copy file.

According to some embodiments of the present invention, the VVM client application may include a synchronization module adapted to initiate a synchronization process between the VVM client application storage and the VVM server-side component(s) storage. The VVM client application may initiate a synchronization: (1) Immediately and automatically upon receipt of a “status changed” signal (e.g. a coded sms message, a data message or any other signaling mechanism) from the VVM server-side component(s), (2) whenever the network is unavailable to the remote device (e.g. “out of range”), upon return of availability, (3) when manually triggered to do so by a user, (4) periodically, (5) upon activation, and/or (6) after a “status changed” signal has been received and (2), (3) or (4) have occurred.

According to some embodiments of the present invention, the synchronization process may include: (1) a transfer of one or more voicemail entry copies and their accompanying parameters, from the VVM server-side component(s) to the VVM client application and/or vice versa, (2) an update of one or more of a voicemail's accompanying parameters in the VVM server-side component(s) storage and/or the VVM client application storage, (3) a permanent or temporary deletion of one or more voicemail entries including its accompanying parameters from the VVM server-side component(s) storage or VVM client application storage, (4) a forwarding of one or more voicemail entries to another voicemail account, and/or (5) a deposit of a one or more new voicemail entries in the user's own voicemail account or another voicemail account belonging to a different user. In other words, a synchronization process may include:

-   -   a. updating the VVM client application with any voicemail         activities that have occurred on the voicemail server, relating         to the user's account, since the last synchronization; and     -   b. updating the VVM server-side component(s) with any actions         the user has taken within the VVM client application, on his         remote device, since the last synchronization.

According to further embodiments of the present invention, the synchronization process may be automatically triggered from time to time at the discretion of the VVM client application, in response to local storage changes or time based for example, local entry deletion, local entry being listened to, etc. For example, in circumstances that the storage associated with the VVM client application is full, the VVM client application may initiate a synchronization process as soon as storage becomes available (e.g. the user has deleted one or more stored messages). According to yet further embodiments of the present invention, in certain cases where the voicemail server is unavailable, the VVM client application may perform a synchronization with the voicemail server through a dial-up connection with the TUI interface of the voicemail server. The dial-up synchronization may be dependent on a user authorization or confirmation of the action.

According to further embodiments of the present invention, the VVM client application may include a voicemail storage module adapted to store the retrieved message copies locally on the remote device's non-volatile memory, which memory may either be integral with the communication device or part of a mass storage device connected to, or otherwise associated with, the remote device. According to further embodiments of the present invention, after storage of a message copy on the remote device's local memory, the VVM client application may signal a receipt confirmation to the VVM server-side components and in response the VVM server-side components may erase their message copies, along with any associated data. The VVM server-side component(s) may retain a portion of the data associated with deleted messages as a record. Alternatively, according to further embodiments of the present invention, in response to a receipt confirmation message signal from the VVM client application, the VVM server-side components may mark the message copies as having been transferred rather than erasing them.

According to further embodiments of the present invention, one or more of the VVM server-side components may include, or be functionally associated with, a speech recognition module including speech recognition algorithms adapted to convert an audio portion of a stored voice message into a text string. Once created, the text string may be associated with the voice message from which it was derived, for example as an accompanying file. According to some embodiments of the present invention, at least a portion of the text string may be stored as metadata associated with a copy of the voice message from which the text string was derived. The text string may be stored (e.g. in the voicemail message as one of the accompanying parameters) and may be transferred along with or instead of the message copy. A user of the VVM client application may select through an interface menu a preference as to whether to receive only voice message copies, only text string copies or a combination of the two. For example, the speech recognition module may be adapted to convert the first sentence of each voicemail into a text string, which text-string may then be included within the metadata associated with the voicemail as an identifier or preview. In another example, the speech recognition module may be adapted to identify certain key words or phrases (e.g. names, locations, “urgent”, etc.) and convert them into a text string, which text-string may then be included within the metadata associated with the voicemail as an identifier or preview. According to further embodiments of the present invention, the VVM client application may include or be functionally associated with a speech recognition module, which may function as described above, but from the client side. According to yet further embodiments of the present invention, the VVM client application may be adapted to interface, via a communication module, with a third party audio-to-text service provider (Audio-to-text service provider=a party that provides the services of conversion of audio media into text strings). The VVM client application may be adapted to send audio files associated with a voice message to said third party and to receive from said third party a text string derived by the third party from the audio files. The VVM client application may then store the received text string as metadata of the voice message. The VVM client application may be further adapted to update the voicemail server with the new metadata, immediately and/or during the following synchronization. Similarly, the VVM client application may be adapted to communicate with any relevant third party service provider to perform any analysis or conversion of voicemails stored on the remote device.

According to some embodiments of the present invention, the VVM client application may include an interface module adapted to present a listing of locally stored voice messages, along with related parameters and/or metadata, as a list of items (e.g. on a scroll down menu) or in any other appropriate form. The interface module may also present the available voice messages in the phone inbox that is traditionally used to list SMS and MMS messages. The VVM client application may also associate the phone's media player or a special media player or any other media player to the message.

According to some embodiments of the present invention, the VVM client application may also access the list of contacts details stored on the remote device and correlate the origin of stored voice messages (e.g. the phone number from which the message originated) with matching contacts on the remote device. Accordingly, details relating to contacts, stored on the remote device, may be associated with correlating voice messages as metadata and may be displayed to the user along with the other metadata associated with the stored voice messages.

The VVM client application may provide a user with options including: (1) play/view stored messages, (2) read associated metadata, and/or (3) delete any or all of the locally stored messages/data. When a user selects to playback a locally stored message copy, a playback module contained in the application may use a decoder, such as an audio, video or image decoder, corresponding to the encoder used by the VVM server-side component(s) to create the copy, to convert the stored message copy into (1) an audible signal which it may then play to the user through a transducer (e.g. speaker) on the remote device, (2) a video or image signal which it may then display to the user on the remote device, and/or (3) any other media type suitable for presenting the stored message copy to the user on the remote device. When a user deletes a locally stored message, the VVM client application may send a signal back to the VVM server-side component(s), either separately or as part of a synchronization process, indicating which message was deleted, and the VVM server-side component(s) may delete the corresponding message from the voicemail server and the corresponding message metadata/copy, if the message copy was not previously deleted. Again, the VVM server-side component(s) may retain a portion of the data associated with deleted messages as a record. When a message is independently erased/deleted from the voicemail server (for example, due to the passage of time) the VVM client application may or may not delete the corresponding message from the remote device's storage during the following synchronization. The decision whether to delete the corresponding message may be based on a specific user input (i.e. the application may prompt the user to decide whether to delete the specific message) or a general user preference setting within the VVM client application settings.

According to further embodiments of the present invention, the VVM client application may be further adapted to allow a user to access and utilize metadata associated with a voice message for other applications. For example, a user may be able to: (1) copy the details of the depositor/sender of a voicemail into his local contacts, (2) reply to the depositor/sender of a voicemail via sms, mms or direct call, (3) forward the voice message via email, etc.

According to further embodiments of the present invention, the VVM client application may be further adapted to communicate with additional service providers, such as advertising servers, social network servers, text transcription servers or any other relevant service provider. The VVM client application may communicate with these service providers via API's provided by said service providers and may include or be adapted to retrieve the appropriate protocols for these communications. The VVM client application may be adapted to retrieve from these service providers data relating to voicemails stored on the remote device, such as further contact details, and to associate this data with the relevant voice message. For example, the VVM client application may correlate data associated with a voice message, such as the origin, with data contained in a profile stored on a social network server and may be adapted to associate other data contained in the same profile, such as a profile picture, with the specific voice message. Similarly, a contact name associated with a voicemail may be correlated with a facebook profile, for example. In this fashion, a user may be displayed a current profile picture from facebook of the depositor of a voicemail, aside the listing of the stored voicemail.

For a detailed description of the interfacing between a communication application client application and social networking service providers please refer to: U.S. Provisional Patent Application No. 61/255,113, filed by the inventors of the present invention, Titled “System, Method Circuit and Associated Software for Augmenting Contact Details Stored on a Communication Device with Data Relating to the Contact Contained on Social Networking Sites”. The '113 application is hereby incorporated by reference in its entirety into the present description.

The VVM client application may also be adapted to provide for a user to create/edit/delete an outgoing message (Outgoing message=a message that is played to a third party caller who is directed to the user's voicemail prior to allowing him/her to record a voicemail, often referred to as the “greeting”). The VVM client application may be adapted to allow a user to edit and listen to the new outgoing message multiple times, until the user is satisfied and indicates to the application that the outgoing message is “ready” or “confirmed”, at which time the VVM client application may send the new outgoing message to the VVM server-side component(s), immediately or during the next synchronization. The VVM client application may be further adapted to store multiple outgoing messages on the remote device, which outgoing messages may be sent to the voicemail server upon request from the user. For example, the user may store a temporary “I am out of the country” outgoing message on the remote device and instruct the VVM client application, each time he/she goes out of the country, to send the stored “I am out of the country” outgoing message to the voicemail server.

The VVM client application may also include an option for a user to disable/enable the application. For example, when roaming or when interested in conserving battery power. According to further embodiments of the present invention, the VVM client application may include an option to automatically disable itself when the remote device is “roaming”.

According to some embodiments of the present invention, the VVM client application may be preloaded (ROM, UDA or MMC) on a remote device when a user acquires it. The VVM client application may be preloaded by the cellular network operator as an application or preloaded by the remote device manufacturer as part of the remote device delivered to the operator.

According to further embodiments of the present invention, the VVM client application may be installed on an existing remote device, “Over The Air” (OTA), i.e. via remote communication or by any other media, such as via a usb cable. When being installed OTA the user may receive a link via SMS to download the VVM client application, may be directed to install the application through the operator web/WAP portal, or by any other suitable means. The VVM client application may be pre-programmed with instructions on how to install itself on a remote device including another or a previous version of a VVM client application.

The VVM client application can be preconfigured to work with a specific voicemail server before being installed on a remote device. Alternatively, operational parameters related to a specific voicemail server, such as server IP, username or password, may be acquired by the VVM client application from a VVM server-side component or a third party. The identity of, and parameters for communication with, the VVM server-side component or third party may be pre-programmed into the VVM client application and/or may be sent to the application by a server-side component via SMS or any other management protocol. This may also be done via standard management mechanisms such as OMA DM server that may be operated by the cellular operator, the VVM client application provider, a device vendor or any other entity. The VVM client application may acquire said parameters: (1) upon the first instancement of the application, (2) periodically, (3) when prompted by the user, (4) when receiving a notification that a parameter has been updated and/or (5) when the VVM application recognizes that a parameter update may be necessary (for example, as part of a troubleshooting process when a connection is unavailable).

According to some embodiments of the present invention, the VVM client application may include a VVM server-side component interface module adapted to interface with VVM server-side components over a data link. The interface module may use interface parameters stored on a configuration file in order to determine a protocol for establishing and maintaining communication with VVM server-side components. Since different voicemail servers provide different APIs using different protocols for interfacing with their voicemail systems, different protocols may be required when communicating with different voicemail systems and/or their respective VVM server-side components. According to further embodiments of the present invention the VVM may also support various types of VVM server-side components in parallel.

The configuration data associated with a VVM client application on a given remote device may be remotely swapped or edited using a configuration sms or any other management protocol. This may also be done via standard management mechanisms such as OMA DM server that may be operated by the cellular operator, the VVM client application provider, a device vendor or any other entity. A cellular operator providing voicemail server functionality in accordance with embodiments of the present invention or a VVM server-side component associated with it, may send a customized configuration sms to the remote device, which customized configuration sms may provide the VVM client application with configuration data corresponding to the operator's voicemail server protocols. According to further embodiments of the present invention, the VVM client application may initiate an update of the VVM client application version, periodically and/or upon receiving a notification from a server-side component that an update is available.

According to some embodiments of the present invention, a VVM client application user interface may include part or all of the following exemplary functionalities:

General New message popup - opens VVM Caller ID correlation with local contacts Support all message media types Open VVM from application menu Browse and listen in any order Speech to text conversion Message function Call back Reply via SMS Forward via MMS Forward via Email Add/update caller ID in local contacts Archive (store in archive - on device or on server) Delete (from server and/or client) Sort messages by selected parameter (date, caller, etc.) Deposit new message directly in mailbox Icon indication Read/unread Replied Forwarded Called back Player function Play/pause Fast forward/rewind Play to loud speakers/private speaker Volume control Greeting Record new greeting management Support different greeting types (full, VS, temporary . . . ) Activate/deactivate greeting Delete greeting New user tutorial Free test and images triggered actions (examples - greeting recording, TUI PIN setup, roaming behavior) Integrated help

According to some embodiments of the present invention, a VVM network support may include part or all of the following exemplary characteristics/capabilities/variants:

IMAP variants General IMAP Comverse Unisys Ericsson Alcatel Lucent OMTP HTTP variant Acision Proprietary in house Security Secured Sockets Layer (SSL) StartTLS MD5-Digest authentication Message type Voice (AMR, WAV, MP3 . . . ) support Video (3GPP, MP4, . . . ) Fax (GIF, BMP, JPEG, etc.)

An Example of Service Flow and UI—

The following are some illustrative examples of operations of a VVM system when integrated into specific cellular operating systems, according to some specific embodiments of the present invention. These examples are presented to further elucidate certain aspects of the present invention and as such should not be considered to encompass the full scope of the present invention. The following examples may be best understood with reference to FIGS. 3-8 (screenshots 1-15), in which FIGS. 3-4 (screenshots 1-6) illustrate exemplary Symbian screen shots, FIG. 5 (screenshots 7-9) illustrate exemplary Blackberry screen shots, FIG. 6 (screenshots 10-11) illustrate exemplary Windows Mobile screen shots, FIG. 7 (screenshots 12-13) illustrate exemplary Message Handling screen shots and FIG. 7 (screenshots 14-15) illustrate exemplary Greeting Provisioning screen shots.

When a new message is deposited in the user's voice mailbox a “silent SMS” (SMS Zero) notification alerts the VVM client application of a status change. The VVM client application may, as a result, retrieve the message from the server with no user interaction (Synchronization). Once the message has been downloaded to the remote device the user may be notified by the visual voicemail client application that he/she has a new voice message (examples shown in screenshots 1, 4 & 7). Pressing the “SHOW” key (bottom left) may lead to an “INBOX” view (examples shown in screenshots 2, 5, 8 & 10) of all new and previous messages. Each message may bare the following information—an icon identifying message status (new or listened), CLI or name as retrieved from phone address book, time of message leaving and message length. Selecting one of the messages may lead to a “PLAY” screen (examples shown in screenshots 3, 6, 9 & 11), where message details may appear again. Pressing left or right key may move to next or previous messages respectively. Pressing “SELECT” key again may start the play of the message with the ability to move forward and backward using the left and right key respectively. The message may be played in the earphone mode; and the user may press the right key to activate in speaker mode.

Variants to the Flow

There are some variance to the above flow that are based on different platforms.

-   -   Message download—in Java platform demo environment the user         needs to authorize the download as part of the usage sequence.         Once the application is signed by the operator (normal procedure         before launch) this action is eliminated.     -   Playing mode: in Symbian the message is heard in earphone mode         with the option for loudspeakers. In Java platform only Nokia         S40 supports this procedure. The rest of Java platform routs the         voice message to the phone's loudspeakers.

Message Handling

Once having selected a specific voice message within the “INBOX, pressing the “OPTIONS” key may lead the user to the “MESSAGE HANDLING” screen (examples shown in screenshots 12-13). Selecting “ADD TO CONTACTS” may allow the user to save the details of the message origination in his/her local contacts. Selecting “REPLY” may allow a user to reply to the originator of a voicemail via sms or mms Selecting “FORWARD” may allow a user to forward the voice message to another user via voicemail, sms, email, etc. Selecting “DELETE” may delete the message from the local storage and the server storage. Selecting “VVM SETTINGS” may lead the user to a “SETTINGS” screen where he/she may be able to modify the system settings.

Greeting Provisioning

Within the “SETTINGS” screen selecting “OUT-GOING MESSAGE” or “GREETING” may lead the user to a “GREETING” screen (examples shown in screenshots 14-15). Within the “GREETING” screen the user may be able to listen/record/delete new greetings and select an active greeting to be used currently. Once the user has confirmed his current greeting choice, the VVM client application may synchronize with the voicemail server and replace the old greeting with the new one, so when a new caller is directed to the user's voicemail, he/she will be welcomed by the new message. Multiple greetings handling can also be provided in various situations requiring different notifications to be applied to the voicemail.

An additional option available in the setting menu is to disable/enable the VVM client application. This option is for users who wish to disable the VVM system temporarily, like in a roaming situation.

The present invention can be practiced by employing conventional tools, methodology and components. Accordingly, the details of any such tool, component and methodology are not set forth herein in detail. In the previous descriptions, numerous specific details are set forth, in order to provide a thorough understanding of the present invention. However, it should be recognized that the present invention may be practiced without resorting to the details specifically set forth.

It should also be understood by one of skill in the art that some of the functions described as being performed by a specific component of the system may be performed by a different component of the system in other embodiments of this invention.

In the description and claims of embodiments of the present invention, each of the words, “comprise” “include” and “have”, and forms thereof, are not necessarily limited to members in a list with which the words may be associated.

Only exemplary embodiments of the present invention and but a few examples of its versatility are shown and described in the present disclosure. It is to be understood that the present invention is capable of use in various other combinations and environments and is capable of changes or modifications within the scope of the inventive concept as expressed herein.

While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention. 

1. A system for providing messaging services comprising: a first server-side component functionally associated with a voicemail server and adapted to convert a voice message stored on the server into an encapsulated data structure suitable for transmission over a data link; and a software application functionally associated with a remote device and adapted to: a. receive from said first server-side component voicemails in said data structure suitable for transmission over a data link b. store said voicemails on storage functionally associated with said remote device; c. display to a user a list of said voicemails; and d. provide a user with an interface to select and play a voicemail from said list.
 2. The system according to claim 1, further comprising a second server-side component functionally associated with said voicemail server and adapted to: a. monitor a first user voicemail account maintained with said voicemail server; and b. send a notification to said software application when there is a change in said first user voicemail account.
 3. The system according to claim 1, wherein said software application is further adapted to perform a synchronization process between storage associated with said voicemail server and said storage functionally associated with said remote device.
 4. The system according to claim 2, wherein said software application initiates a synchronization process in response to receiving said notification.
 5. The system according to claim 2, wherein said software application is further adapted to cause said remote device not to alert a user that said notification has arrived.
 6. The system according to claim 1, further comprising a speech recognition module functionally associated with said first server-side component and adapted to convert at least a portion of a voicemail into a text string.
 7. The system according to claim 1, wherein said software application is further adapted to correlate the origins of said received voicemails with contacts stored on the remote device.
 8. The system according to claim 1, wherein said software application is further adapted to facilitate the utilization of metadata associated with a voicemail for other applications.
 9. The system according to claim 1, wherein said software application is further adapted to: a. Send at least a portion of a voicemail stored on said remote device to a third party audio-to-text service provider; b. Receive from said audio-to-text service provider a text string derived from said portion of a voicemail; and c. Associate said text string with said voicemail.
 10. The system according to claim 1, wherein said software application is further adapted to associate data retrieved from a social networking site with a voicemail stored on said remote device.
 11. A method for providing messaging services comprising: Receiving voicemails from a voicemail server; storing said voicemails on storage functionally associated with a remote device; displaying to a user of said remote device a list of said voicemails on a display functionally associated with said remote device; and facilitating, on said remote device, playback of a voicemail selected from said list.
 12. The method according to claim 11, further comprising: a. monitoring a first user voicemail account maintained with a voicemail server; and b. sending a notification to said software application when there is a change in said first user voicemail account.
 13. The method according to claim 11, further comprising performing a synchronization process between storage associated with said voicemail server and said storage functionally associated with said remote device.
 14. The method according to claim 12, wherein a synchronization process between storage associated with said voicemail server and said storage functionally associated with said remote device is performed in response to receiving said notification.
 15. The method according to claim 12, further comprising causing said remote device not to alert a user that said notification has arrived.
 16. The method according to claim 11, further comprising converting at least a portion of a voicemail into a text string.
 17. The method according to claim 11, further comprising a. Sending at least a portion of a voicemail stored on said remote device to a third party audio-to-text service provider; b. Receiving from said audio-to-text service provider a text string derived from said portion of a voicemail; and c. Associating said text string with said voicemail.
 18. The method according to claim 11, further comprising correlating the origins of said received voicemails with contacts stored on the remote device.
 19. The method according to claim 11, further comprising facilitating the utilization of metadata associated with a voicemail for other applications.
 20. The method according to claim 11, further comprising associating data retrieved from a social networking service provider with a voicemail stored on said remote device.
 21. A software application for providing visual voicemail functionality on a remote device, said application comprising: A communication module adapted to receive voicemails from a server-side VVM component; A voicemail storage module adapted to store said voicemails on storage functionally associated with said remote device; An interface module adapted to display to a user a list of said voicemails; and A playback module adapted to play, from said storage, a voicemail selected by a user from said list.
 22. The software application according to claim 21, further comprising a synchronization module adapted to perform a synchronization process between storage associated with a voicemail server and said storage functionally associated with said remote device.
 23. The software application according to claim 21, further adapted to cause said remote device not to alert a user that a notification short message service (SMS) message has arrived.
 24. The software application according to claim 21, further comprising a speech recognition module functionally associated with said software application.
 25. The software application according to claim 21, wherein said software application is adapted to: a. Send at least a portion of a voicemail stored on said remote device to a third party audio-to-text service provider; b. Receive from said audio-to-text service provider a text string derived from said portion of a voicemail; and c. Associate said text string with said voicemail.
 26. The software application according to claim 21, wherein said software application is adapted to associate data retrieved from a social networking site with a voicemail stored on said remote device.
 27. The software application according to claim 21, wherein said application is adapted to correlate the origins of said received voicemails with contacts stored on the remote device.
 28. The software application according to claim 21, wherein said application is adapted to facilitate utilization of metadata associated with a voicemail for other applications.
 29. The software application according to claim 21, wherein said application is adapted to facilitate the recording and editing of an out going message, on the remote device. 